<html>
<head><meta charset="utf-8"><title>Upcoming const-stabilization PRs · t-libs · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/index.html">t-libs</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html">Upcoming const-stabilization PRs</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="208503477"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208503477" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208503477">(Aug 30 2020 at 20:43)</a>:</h4>
<p>Now that <code>if</code> and <code>match</code> can be used in <code>const fn</code> on stable, there are a large number of standard library functions that can be const-stabilized. Someone on GithHub has indicated that they want to take this on, so please ping me or someone else from wg-const-eval if a PR like this pops up in your feed.</p>



<a name="208536048"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208536048" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208536048">(Aug 31 2020 at 09:25)</a>:</h4>
<p>Speaking of these, I don't think <a href="https://github.com/rust-lang/rust/pull/75463">https://github.com/rust-lang/rust/pull/75463</a> should have landed. Every stabilization requires FCP.</p>



<a name="208536077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208536077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208536077">(Aug 31 2020 at 09:25)</a>:</h4>
<p>I suggest the PR be reverted, and then re-attempted following process. Cc <span class="user-group-mention" data-user-group-id="2645">@T-libs</span></p>



<a name="208575436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208575436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208575436">(Aug 31 2020 at 15:46)</a>:</h4>
<p>That's my bad. I don't do a lot of libs stuff and those methods are trivial. I'll ask CDirk to batch all their PRs into one maybe? Otherwise there's going to be a lot of checkboxes.</p>



<a name="208576528"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208576528" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208576528">(Aug 31 2020 at 15:54)</a>:</h4>
<p>Actually, is there any reason going forward to require T-libs approval on const-stabilization PRs? The standard library implementation is now the domain of the compiler team, and the only reason I'm aware of to hold off on making something <code>const</code> is that it restricts the potential implementations.</p>



<a name="208576643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208576643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208576643">(Aug 31 2020 at 15:55)</a>:</h4>
<p>Not saying this should have applied to <a href="https://github.com/rust-lang/rust/issues/75463">#75463</a>, which is still a process break, albeit a minor one.</p>



<a name="208576883"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208576883" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208576883">(Aug 31 2020 at 15:56)</a>:</h4>
<p><code>const</code>-ness is part of the API, which is still managed by <code>T-libs</code></p>



<a name="208577132"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208577132" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208577132">(Aug 31 2020 at 15:58)</a>:</h4>
<p>Sure, but if the libs team is no longer responsible for the implementation, what value are they adding?</p>



<a name="208578196"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208578196" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BurntSushi <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208578196">(Aug 31 2020 at 16:04)</a>:</h4>
<p>we add value by deliberating on the API itself, which is the thing we promise stability for. constness is part of the API, so it requires FCP by the libs team.</p>
<p>also, in times past, we have _not_ accepted blanket PRs to constify everything. (it has been tried before.) we would rather see a more methodical approach where each API (or perhaps small groups of related APIs) are discussed individually. the reason for this is that once we mark a method or function as <code>const</code>, we can _never_ write an implementation for that function that isn't const. that's a potentially major limitation and requires careful scrutiny.</p>



<a name="208578738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208578738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208578738">(Aug 31 2020 at 16:07)</a>:</h4>
<p>Very well. I'm going to assign you to some PRs so that you can open MCPs on them (I don't think non-libs-team members can)</p>



<a name="208578968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208578968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BurntSushi <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208578968">(Aug 31 2020 at 16:09)</a>:</h4>
<p><span class="user-mention" data-user-id="118594">@ecstatic-morse</span> i'm on the libs team, but i took myself off of FCP checkboxes years ago. i don't have the bandwidth to deal with std PRs.</p>



<a name="208579574"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208579574" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Dylan MacKenzie (ecstatic-morse) <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208579574">(Aug 31 2020 at 16:13)</a>:</h4>
<p>Ah, I'll try <span class="user-mention" data-user-id="204346">@Ashley Mannix</span>  then? Although if you wanted to trigger the FCP that would be great.</p>



<a name="208581072"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208581072" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208581072">(Aug 31 2020 at 16:22)</a>:</h4>
<p>ye Ashley should be fine</p>



<a name="208594250"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208594250" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208594250">(Aug 31 2020 at 18:07)</a>:</h4>
<p><span class="user-mention silent" data-user-id="118594">ecstatic-morse</span> <a href="#narrow/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs/near/208577132">said</a>:</p>
<blockquote>
<p>Sure, but if the libs team is no longer responsible for the implementation, what value are they adding?</p>
</blockquote>
<p>just like t-lang guards everything publicly/stably observable about the language itself, t-libs does the same for the library API. in both cases t-compiler is responsible for <em>implementation</em>, but that only covers the aspects that are not directly observable to the user, and aspects that are not subject to stability guarantees (e.g., lints).</p>



<a name="208601157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208601157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Lokathor <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208601157">(Aug 31 2020 at 19:00)</a>:</h4>
<p>Example: if another rust compiler were to come along, they'd ideally follow the same T-lang edicts about what "is" rust and they'd offer the same standard library that T-libs declares to be "the" standard library, but since they're an entirely separate compiler project they wouldn't have much to do with T-compiler (other than maybe command line flag compatibility or whatever).</p>



<a name="208611612"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208611612" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208611612">(Aug 31 2020 at 20:32)</a>:</h4>
<p>† The same standard library signatures -- they could implement them differently (<code>T-libs-impl</code>), say by not using intrinsics in all the same situations, or not having the same lang items.</p>



<a name="208652695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208652695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208652695">(Sep 01 2020 at 07:28)</a>:</h4>
<p>(though intrinsics are generally guarded by t-lang, at least when they add fundamentally new capabilities to the language. they are not just an implementation detail.)</p>



<a name="208721121"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208721121" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> scottmcm <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208721121">(Sep 01 2020 at 17:33)</a>:</h4>
<p>(Right, some intrinsics make semantically-visible promises where lang definitely cares.  I was thinking more about things like <code>unchecked_add</code>, which an alternative implementation could just not have if it wanted, and just use a normal wrapping add in all those situations.  That's not necessarily a good QoI choice, but it's be a completely valid implementation.)</p>



<a name="208775838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/219381-t-libs/topic/Upcoming%20const-stabilization%20PRs/near/208775838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Ashley Mannix <a href="https://rust-lang.github.io/zulip_archive/stream/219381-t-libs/topic/Upcoming.20const-stabilization.20PRs.html#208775838">(Sep 02 2020 at 03:27)</a>:</h4>
<p>I got a bit distracted by safe transmute yesterday so will dig through the things I’m assigned to this afternoon :slight_smile:</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>